#!/usr/bin/python
#coding: utf-8
"""
@Name:02_telnet判断ssh服务是否存在.py
@Data:20-5-3
@Author:181
"""
import  telnetlib
import  re
# 实例化对象
# tn = telnetlib.Telnet(host='172.25.135.13', port=22, timeout=5)
#
# result = tn.read_until(b'\n',timeout=5).decode('utf-8')
#
# # 通过正则匹配且忽略大小写, 寻找是否ssh服务开启。
# ssh_result = re.search('ssh', result, re.I)
# if ssh_result:
#    print("Linux服务器存活")
# else:
#    print("其他服务器存活")
# print(result)
def is_ssh_up(host='172.25.135.13', port=22, timeout=5):
    # 实例化对象
    tn = telnetlib.Telnet(host=host, port=port)
    # read_until读取直到遇到了换行符或超时秒数。默认返回bytes类型，通过decode方法解码为字符串。
    result = tn.read_until(b'\n', timeout=timeout).decode('utf-8')
    # 通过正则匹配且忽略大小写， 寻找是否ssh服务开启。
    searchObj = re.search('ssh', result, re.I)
    # 如果能匹配到内容， 说明ssh服务开启， 是Linux服务器.
    if searchObj:
        return  True
    else:
        return  False



if __name__ == '__main__':
    """
    active_hosts = get_active_hosts()
    for host in active_hosts:
        if is_ssh_up():
            pass
    """
    result = is_ssh_up()
    print(result)